그래디언트 계산을 위한 유용한 항등식들
다음에서는 머신러닝 문맥에서 자주 요구되는 몇 가지 유용한 그래디언트들을 나열한다 (Petersen and Pedersen, 2012). 여기서 $\text{tr}(\cdot)$ 은 대각합(정의 4.4 참조), $\det(\cdot)$ 은 행렬식(섹션 4.1 참조)이다. 그리고 $f(\boldsymbol{X})^{-1}$ 은 $f(\boldsymbol{X})$ 의 역행렬이며, 존재한다고 가정한다.
$$
\frac{\partial}{\partial \boldsymbol{X}} f(\boldsymbol{X})^\top = \left(\frac{\partial f(\boldsymbol{X})}{\partial \boldsymbol{X}}\right)^\top \quad (5.99)
$$
$$
\frac{\partial}{\partial \boldsymbol{X}} \text{tr}(f(\boldsymbol{X})) = \text{tr}\left(\frac{\partial f(\boldsymbol{X})}{\partial \boldsymbol{X}}\right) \quad (5.100)
$$
$$
\frac{\partial}{\partial \boldsymbol{X}} \det(f(\boldsymbol{X})) = \det(f(\boldsymbol{X})) \text{tr}\left(f(\boldsymbol{X})^{-1} \frac{\partial f(\boldsymbol{X})}{\partial \boldsymbol{X}}\right) \quad (5.101)
$$
$$
\frac{\partial}{\partial \boldsymbol{X}} f(\boldsymbol{X})^{-1} = -f(\boldsymbol{X})^{-1} \frac{\partial f(\boldsymbol{X})}{\partial \boldsymbol{X}} f(\boldsymbol{X})^{-1} \quad (5.102)
$$
$$
\frac{\partial \boldsymbol{a}^\top \boldsymbol{X}^{-1} \boldsymbol{b}}{\partial \boldsymbol{X}} = -(\boldsymbol{X}^{-1})^\top \boldsymbol{a} \boldsymbol{b}^\top (\boldsymbol{X}^{-1})^\top \quad (5.103)
$$
$$
\frac{\partial \boldsymbol{x}^\top \boldsymbol{a}}{\partial \boldsymbol{x}} = \boldsymbol{a}^\top \quad (5.104)
$$
$$
\frac{\partial \boldsymbol{a}^\top \boldsymbol{x}}{\partial \boldsymbol{x}} = \boldsymbol{a}^\top \quad (5.105)
$$
$$
\frac{\partial \boldsymbol{a}^\top \boldsymbol{X} \boldsymbol{b}}{\partial \boldsymbol{X}} = \boldsymbol{a} \boldsymbol{b}^\top \quad (5.106)
$$
$$
\frac{\partial \boldsymbol{x}^\top \boldsymbol{B} \boldsymbol{x}}{\partial \boldsymbol{x}} = \boldsymbol{x}^\top (\boldsymbol{B} + \boldsymbol{B}^\top) \quad (5.107)
$$
$$
\frac{\partial}{\partial \boldsymbol{s}} (\boldsymbol{x} - \boldsymbol{A} \boldsymbol{s})^\top \boldsymbol{W} (\boldsymbol{x} - \boldsymbol{A} \boldsymbol{s}) = -2(\boldsymbol{x} - \boldsymbol{A} \boldsymbol{s})^\top \boldsymbol{W} \boldsymbol{A} \quad \text{for symmetric } \boldsymbol{W} \quad (5.108)
$$
Remark. 이 책에서는 행렬의 대각합과 전치만을 다룬다. 하지만 우리는 미분이 고차원 텐서가 될 수 있음을 보았고, 이 경우 일반적인 대각합과 전치는 정의되지 않는다. 이러한 경우, $D \times D \times E \times F$ 텐서의 대각합은 $E \times F$ 차원의 행렬이 될 것이다. 이는 텐서 축약(tensor contraction)의 특수한 경우이다. 이와 유사하게, 우리가 텐서를 “전치”한다고 할 때는 첫 번째 두 차원을 맞바꾸는 것을 의미한다. 구체적으로, (5.99)부터 (5.102)까지의 식에서 다변수 함수 $f(\cdot)$ 를 다루고 행렬에 대한 미분을 계산할 때 (그리고 섹션 5.4에서 논의된 바와 같이 벡터화하지 않기로 선택할 때) 우리는 텐서 관련 계산이 필요하다.